信息收集之 – TCP 空闲扫描

00x0 写在前面

今天安利的 TCP 空闲扫描是属于信息收集,在我刚刚入门 Web 安全的时候(可能现在还没入门,安全博大精深),对于信息收集其实是很忽略的,但是随着学习的不断深入,才发现信息收集是渗透测试及其重要的一个环节,也是黑阔区别于脚本小子很明显的一个特征。

00x1 信息收集简述

信息收集的目的是获取渗透目标的准确信息,以了解目标组织的运作方式,确定最佳的进攻路线,而这一切应当悄无声息的的进行,不应该让对方察觉你的存在或分析出你的意图。

00x2 高级 Nmap 扫描技巧:TCP 空闲扫描

一种更高级的 Namp 扫描方式是 TCP 空闲扫描,这种扫描能让我们冒充网络上另一台主机的 IP 地址,对目标进行更为隐秘的扫描。在进行这种扫描之前,我们需要在网络上定位一台使用递增 IP 帧标识(IP ID:用于跟踪 IP 包的次序的一种技术)控制的空闲主机(空闲是指该主机在一段特定时间内不向网络发送数据包)。当我们发现这样的一台主机后,它的 IP 帧标识是可以被预测的,利用这一特性可以计算出它的下一个 IP 帧的标识。当我们冒充这台空闲主机的 IP 地址对目标主机的某个端口进行探测后,如果该空闲主机实际的 IP 帧标识与预测得到的 IP 帧标识发生断档,那么意味着该端口可能是开放的。

00x3 实战讲解

在 MSF 终端使用use auxiliary/scanner/ip/ipidseq命令来调用该模块寻找能够满足 TCP 空闲扫描要求的空闲主机,如下图:

使用 show options显示执行 ipidseq 扫描所需的所有参数。重点说明 Name 一栏下的 RHOST 参数,此参数可以使用 IP 地址段(如 192.168.1.20 - 192.168.1.30 )、CIDR (无类型域间选路)地址快(如 192.168.1.0/24 )、使用逗号分隔的多个 CIDR 地址快(如 192.168.1.0/24,192.168.3.0/24),以及每行包含一个 IP 地址的 IP 列表文本文件。这些选项让我们在设定扫描目标时具有很大的灵活性。

THREADS 参数中设定扫描的线程数。所有的扫描模块默认线程数为1。增加参数值可以提高扫描速度,降低参数值可以减少网络上的数据流量。一般来说,在 Windows 平台上运行 Metasploit,线程数最好不要超过 16,在类 UNIX 平台上运行不要超过 128。

现在我们设定好参数值并执行扫描模块。我们将 RHOST 参数设置为 192.168.1.0/24,将线程数设置为 5,然后进行扫描。

Incremental 标记的都是可利用的空闲主机。然后我尝试在 Nmap 中使用 -sI 选项指定获取的 192.168.1.104 作为空闲主机对目标主机 202.121.241.107 进行扫描。

命令:nmap -PN -sI 192.168.104 202.121.241.107

很显然大姨妈,问了一圈的人也没能解决,但不失为一种思路。

使用空闲扫描,我们可以不用自身 IP 地址向目标主机发送任何数据包,就能获取到目标主机上开放的端口信息。

我们一直都向往,面朝大海,春暖花开。 但是几人能做到,心中有爱,四季不败?